Fri | 10th June | 8:00pm | Saint-Denis |
A | | France v Romania | 2:1 |
Sat | 11th June | 2:00pm | Lens |
A | | Albania v Switzerland | 0:1 |
| | 5:00pm | Bordeaux | B |
| Wales v Slovakia | 2:1 |
| | 8:00pm | Marseille |
B | | England v Russia | 1:1 |
Sun | 12th June | 2:00pm | Paris |
D | | Turkey v Croatia | 0:1 |
| | 5:00pm | Nice |
C | | Poland v Northern Ireland | 1:0 |
| | 8:00pm | Lille |
C | | Germany v Ukraine | 2:0 |
Mon | 13th June | 2:00pm | Toulouse |
D | | Spain v Czech Republic | 1:0 |
| | 5:00pm | Saint-Denis |
E | | Republic of Ireland v Sweden | 1:1 |
| | 8:00pm | Lyon |
E | | Belgium v Italy | 0:2 |
Tue | 14th June | 5:00pm | Bordeaux |
F | | Austria v Hungary | 0:2 |
| | 8:00pm | Saint-Etienne |
F | | Portugal v Iceland | 1:1 |
Wed | 15th June | 2:00pm | Lille |
B | | Russia v Slovakia | 1:2 |
| | 5:00pm | Parisv |
A | | Romania v Switzerland | 1:1 |
| | 8:00pm | Marseille |
A | | France v Albania | 2:0 |
Thur | 16th June | 2:00pm | Lens |
B | | England v Wales | 2:1 |
| | 5:00pm | Lyon |
C | | Ukraine v Northern Ireland | 0:2 |
|
| | 8:00pm | Saint-Denis |
C | | Germany v Poland | 0:0 |
Fri | 17th June | 2:00pm | Toulouse |
E | | Italy v Sweden | 1:0 |
| | 5:00pm | Saint-Etienne |
D | | Czech Republic v Croatia | 2:2 |
| | 8:00pm | Nice |
D | | Spain v Turkey | 3:0 |
Sat | 18th June | 2:00pm | Bordeaux |
E | | Belgium v Republic of Ireland | 3:0 |
| | 5:00pm | Marseille |
F | | Iceland v Hungary | 1:1 |
| | 8:00pm | Paris |
F | | Portugal v Austria | 0:0 |
Sun | 19th June | 8:00pm | Lyon |
A | | Romania v Albania | 0:1 |
| | 8:00pm | Lille |
A | | Switzerland v France | 0:0 |
Mon | 20th June | 8:00pm | Toulouse |
B | | Russia v Wales | 0:3 |
| | 8:00pm | Saint-Etienne |
B | | Slovakia v England | 0:0 |
Tue | 21st June | 5:00pm | Marseille |
C | | Ukraine v Poland | 0:1 |
| | 5:00pm | Paris |
C | | Northern Ireland v Germany | 0:1 |
| | 8:00pm | Lens |
D | | Czech Republic v Turkey | 0:2 |
| | 8:00pm | Bordeaux |
D | | Croatia v Spain | 2:1 |
Wed | 22nd June | 5:00pm | Saint-Denis |
F | | Iceland v Austria | 2:1 |
| | 5:00pm | Lyon |
F | | Hungary v Portugal | 3:3 |
| | 8:00pm | Lille |
E | | Italy v Republic of Ireland | 0:1 |
| | 8:00pm | Nice |
E | | Sweden v Belgium | 0:1 |
Sat | 25th June | 2:00pm | Saint-Etienne |
| | Switzerland v Poland | 4:5 |
| | 5:00pm | Paris |
| | Wales v Northern Ireland | 1:0 |
| | 8:00pm | Lens |
| | Croatia v Portugal | 0:1 |
Sun | 26th June | 2:00pm | Lyon |
| | France v Ireland | 2:1 |
| | 5:00pm | Saint-Denis |
| | Germany v Slovakia | 3:0 |
| | 8:00pm | Toulouse |
| | Hungary v Belgium | 0:4 |
Mon | 27th June | 5:00pm | Saint-Denis | | | Italy v Spain | 2:0 |
| | 8:00pm | Nice |
| | England v Iceland | 1:2 |
Thur | 30th June | 8:00pm | Marseille | | | Poland v Portugal | 4:5 |
Fri | 1st July | 8:00pm | Lille |
| | Wales v Belgium | 3:1 |
Sat | 2nd July | 8:00pm | Lille |
| | Germany v Italy | 5:4 |
Sun | 3rd July | 8:00pm | Saint-Denis |
| | France v Iceland | 5:2 |
Wed | 6th July | 8:00pm | Lyon |
| | Portugal v Wales | 2:0 |
Thurs | 7th July | 8:00pm | Marseille |
| | Germany v France | 0:2 |
Sun | 10th July | 8:00pm | Saint-Denis |
| | Portugal v France | 1:0 |